
Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('desarrollo', 'static/combos/componentes/desarrollo');

Ext.require([
    'Ext.data.*', 'Ext.grid.*','Ext.tab.*','Ext.tip.QuickTipManager',
    'Ext.window.MessageBox','Ext.window.*', 'Ext.tip.*',
    'Ext.layout.container.Border', 'Ext.dd.*', 'Ext.form.field.ComboBox',
    'desarrollo.TipoItemForm','desarrollo.TipoItemGrid',
    'desarrollo.FaseForm','desarrollo.FaseGrid',
    'desarrollo.ProyectoForm','desarrollo.ProyectoGrid',
    'desarrollo.AtributoForm', 'desarrollo.AtributoGrid',
    'desarrollo.AtributoIForm', 'desarrollo.AtributoIGrid',
    'desarrollo.ArchivosForm', 'desarrollo.ArchivosGrid',
    'desarrollo.ItemForm', 'desarrollo.ItemGrid',  
    'desarrollo.RevertirForm', 'desarrollo.RevertirGrid',  
    'desarrollo.RevivirForm', 'desarrollo.RevivirGrid', 
    'Ext.form.FieldSet'
]);


Ext.onReady(function(){
    Ext.tip.QuickTipManager.init();  
        
    var store = Ext.create('Ext.data.Store', {
        model: 'Writer.Person',
        autoLoad: true,
        autoSync: true,
        proxy: {
            type: 'ajax',
            url: 'listarProyectos',
            reader: {
                type: 'json',
                successProperty: 'success',
                root: 'data',
                messageProperty: 'message'
            },
        },        
        sorters: [{
            property: 'id',
            direction: 'ASC' }]        
    }); 
       
	win = Ext.create('widget.panel', {
		iconCls: 'icon-alpha',	title: 'DESARROLLO',
		frame:true,
		renderTo: 'comboDesarrollo',	width: 1055,  height: 390,	layout: 'border', y: 30,	x: 160, //bodyStyle: 'padding: 3px;',
		items: [{
			region: 'west',	xtype: 'writerform',
			itemId: 'form',	width: 360,
			listeners: {
				refresh: function() {	win.child('#grid').onRefresh();
				},
				ddTipoItem: function(data) {
					nombre = extraer(data, '&nombre=', '&descripcion=');		id = extraer(data, 'id=', '&');
					win.hide();
					winTipoItem = Ext.create('widget.window', {
						iconCls: 'icon-alpha',
						y: 221,	x: 162,
						closable: false,
						title: 'TIPOS ITEM',
						items: [PanelTipoItem = Ext.create('Ext.Panel', {
									width : 1030,	height : 340,
									layout  : {	type: 'hbox',	align: 'stretch'	},
									items : [								
										{
											region: 'west',
											xtype: 'tipoitemform',
											title: 'Tipos Item - ' + nombre,
											itemId: 'TipoItemform',
											width: 350,
											listeners: {
												refresh: function() {
													PanelTipoItem.child('#tipoitemgrid').onRefresh();		
												},
												reset: function() {
													PanelTipoItem.child('#tipoitemgrid').getSelectionModel().clearSelections();
													
												},
												buscar: function(data) {
													nombre= extraer(data, '&nombre=', '&nroAtributos='); nroAtributos= extraer(data, '&nroAtributos=', '&descripcion='); 
													
													
													/*Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																		msg: nroAtributos, 	icon: 'ext-mb-ok',
																});*/
													if(nombre==='') nombre='nulo';
													if(nroAtributos==='') nroAtributos='999999';
													
													PanelTipoItem.child('#tipoitemgrid').store.setProxy({
																						type: 'ajax',
																						url: 'buscar_tipo_items_por_proyecto/' + id + '/' + nombre + '/' + nroAtributos ,
																						reader: {
																							type: 'json',
																							successProperty: 'success',
																							root: 'data',
																							messageProperty: 'message'
																						},
																					
																					});
													PanelTipoItem.child('#tipoitemgrid').onRefresh();
													
												},
												listar: function() {
							
													PanelTipoItem.child('#tipoitemgrid').store.setProxy({
																						type: 'ajax',
																						url: 'listar_tipo_items_por_proyecto/'+ id,
																						reader: {
																							type: 'json',
																							successProperty: 'success',
																							root: 'data',
																							messageProperty: 'message'
																						},
																					
																					});
													PanelTipoItem.child('#tipoitemgrid').onRefresh();
													
												},
												ddImportar: function(data){
													var grid7, grid8;
													winImportar = Ext.create('widget.window', {
														iconCls: 'icon-importar',
														x: 400, y: 260,
														title: 'Drag and Drop - Importar Tipo de Item al proyecto: ' + nombre,
														closable: false,
														plain: true,
														layout: 'fit',
														items: [PanelTipo = Ext.create('Ext.Panel', {
																	width : 550,	height : 250,
																	layout  : {	type: 'hbox',	align: 'stretch'	},
																	defaults  : { flex : 1 }, 
																	items : [
																			grid7 = Ext.create('Ext.grid.Panel', {
																				multiSelect: true,
																				viewConfig: {
																					plugins: {
																							ptype: 'gridviewdragdrop',
																							dragGroup: 'firstGridDDGroup',
																							dropGroup: 'secondGridDDGroup'
																					},
																				},
																				store: Ext.create('Ext.data.Store', {
																							model: 'DataTipoItem',
																							autoLoad: true,
																							proxy: {
																								type: 'ajax',
																								url: 'listar_no_tipo_items_por_proyecto/' + id,
																								reader: {
																									type: 'json',
																									successProperty: 'success',
																									root: 'data',
																									messageProperty: 'message'
																								},

																							}      
																						}),
																				columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																							{text: "<b>Tipos Item de otros Proyectos</b>", flex: 1, sortable: true, dataIndex: 'nombreTipoItem'} ],
																				stripeRows : true
																			}),
																			grid8 = Ext.create('Ext.grid.Panel', {
																				multiSelect: true,
																				viewConfig: {
																					plugins: {
																							ptype: 'gridviewdragdrop',
																							dragGroup: 'secondGridDDGroup',
																							dropGroup: 'firstGridDDGroup'
																						},
																				},
																				store: Ext.create('Ext.data.Store', {
																						model: 'DataTipoItem',
																						autoLoad: true,
																						proxy: {
																							type: 'ajax',
																							url: 'listar_tipo_items_por_proyecto',
																							reader: {
																								type: 'json',
																								successProperty: 'success',
																								root: 'data',
																								messageProperty: 'message'
																							},

																						}       
																				}),
																				columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																							{text: "<b>Tipos Item a Importar</b>", flex: 1, sortable: true, dataIndex: 'nombreTipoItem'} ],
																				stripeRows : true
																			})
																	],
																	dockedItems: {
																		xtype: 'toolbar',
																		dock: 'bottom',
																		items: ['->', // Fill
																		{
																			text: 'Guardar',
																			iconCls: 'icon-save',
																			handler: function(){
																				grid8.getSelectionModel().selectAll();
																				longitud= grid8.getSelectionModel().getSelection().length;
																				lista_tiposItem = new Array(longitud);
																				i=0;
																				while(i < longitud)
																				{											
																					lista_tiposItem[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																					i=i+1;
																				}	
																				grid8.getSelectionModel().deselectAll();											
																				Ext.Ajax.request({
																					url: 'importar_tipo_item',
																					params: {
																						id_proyecto: id,
																						lista_tiposItem:Ext.encode(lista_tiposItem)
																					},
																					success: function() {
																						Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																											msg: 'Tipos de Item importados correctamente', 	icon: 'ext-mb-ok',
																						});	
																						winImportar.close();
																						PanelTipoItem.child('#tipoitemgrid').onRefresh();
																					},
																					failure: function() {
																						Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																										msg: 'Error en la importacion de Tipos de Item ', 	icon: 'ext-mb-error',
																						});
																					}
																				})
																			}
																		},
																		{
																			text: 'Cerrar',
																			iconCls: 'icon-cerrar',
																			handler: function(){winImportar.close()}
																		}]
																	}
															}),{
															border: false
														}]
													});					
													winImportar.show();						
												},						
												Atributos: function(data) {
													nombre = extraer(data, '&nombre=', '&nroAtributos=');		id = extraer(data, 'id=', '&');
													winTipoItem.hide();
													winAtributos = Ext.create('widget.window', {
														iconCls: 'icon-alpha',								
														title: 'ATRIBUTOS TIPO ITEM',
														y: 221,	x: 164,
														closable: false,	
														plain: true,
														items: [PanelAtributos = Ext.create('Ext.Panel', {
																	width : 1030,	height : 340,
																	layout  : {	type: 'hbox',	align: 'stretch'	},
																	items : [								
																		{
																			region: 'west',
																			xtype: 'atributoform',
																			title: 'Atributos - '+ nombre,
																			itemId: 'Atributoform',
																			width: 350,
																			listeners: {
																				refresh: function() {
																					PanelAtributos.child('#atributogrid').onRefresh();		
																				}																						
																			}
																		}, {
																			region: 'center',
																			xtype: 'atributogrid',            
																			itemId: 'atributogrid',
																			title: 'Lista de Atributos',
																			flex: 1,        
																			store: Ext.create('Ext.data.Store', {
																					model: 'Writer.Atributo',
																					autoLoad: true,
																					autoSync: true,
																					proxy: {
																						type: 'ajax',
																						url: 'listarAtributos_tipoItem/'+ id,
																						reader: {
																							type: 'json',
																							successProperty: 'success',
																							root: 'data',
																							messageProperty: 'message'
																						},
																						writer: {
																							type: 'json',
																							writeAllFields: false,
																							root: 'data'
																						},

																					},
																					
																					sorters: [{
																						property: 'id',
																						direction: 'ASC'
																					}]        
																				}),
																			listeners: {
																				selectionchange: function(selModel, selected) {
																					PanelAtributos.child('#Atributoform').setActiveRecord(selected[0] || null);
																				},
																				salir: function() {
																					winAtributos.close();
																					winTipoItem.show();
																					PanelTipoItem.child('#tipoitemgrid').onRefresh();
																				}
																			}
																		}]
																	})
																	
															]
													});	
													PanelAtributos.child('#Atributoform').down('#idTipoItem').setValue(id);
													winAtributos.show();
																		
												}
												
											}
											//height: 150,
										}, {
											region: 'center',
											xtype: 'tipoitemgrid',            
											itemId: 'tipoitemgrid',
											title: 'Lista de Tipos Item',
											flex: 1,        
											//width: 480,
											//height: 250,
											store: Ext.create('Ext.data.Store', {
													model: 'Writer.TipoItem',
													//autoLoad: true,
													//autoSync: true,
													proxy: {
														type: 'ajax',
														url: 'listar_tipo_items_por_proyecto/'+ id,
														reader: {
															type: 'json',
															successProperty: 'success',
															root: 'data',
															messageProperty: 'message'
														},
														writer: {
															type: 'json',
															writeAllFields: false,
															root: 'data'
														},

													},
													
													sorters: [{
														property: 'id',
														direction: 'ASC'
													}]        
												}),
											listeners: {
												selectionchange: function(selModel, selected) {
													PanelTipoItem.child('#TipoItemform').setActiveRecord(selected[0] || null);
												},
												listarTodo: function() {
													PanelTipoItem.child('#TipoItemform').onListar();
													PanelTipoItem.child('#TipoItemform').onReset();
													
												},
												salir: function() {
													winTipoItem.close();
													win.show();
													//win.child('#grid').onRefresh();
												}
											}
										}]
									})
									
							]
					});	
					PanelTipoItem.child('#TipoItemform').down('#idProy').setValue(id);
					winTipoItem.show();					
				},						
				ddFases: function(data) {
					nombreProyecto = extraer(data, '&nombre=', '&descripcion=');		id_Proyecto = extraer(data, 'id=', '&');
					win.hide();
					winFases = Ext.create('widget.window', {
						iconCls: 'icon-alpha',
						y: 221,	x: 164,
						title: 'FASES',
						closable: false,	
						layout: 'fit',
						items: [PanelFases = Ext.create('Ext.Panel', {
									width : 1030,	height : 340,
									layout  : {	type: 'hbox',	align: 'stretch'	},
									items : [								
										{
											region: 'west',
											xtype: 'fasesform',
											title: 'Fases - ' + nombreProyecto,
											itemId: 'Faseform',
											width: 375	,
											listeners: {
												refresh: function() {
													PanelFases.child('#fasesgrid').onRefresh();		
												},
												ddItem: function(data) {
													winFases.hide();
													nombre = extraer(data, '&nombreFase=', '&descripcion=');		id = extraer(data, 'id=', '&');
													winItem = Ext.create('widget.window', {
														iconCls: 'icon-alpha',
														y: 221,	x: 164,								
														title: 'ITEMS',
														closable: false,	
														plain: true,
														items: [PanelItem = Ext.create('Ext.Panel', {
																	width : 1030,	height : 340,
																	layout  : {	type: 'hbox',	align: 'stretch'	},
																	items : [								
																		{
																			region: 'west',
																			xtype: 'itemform',
																			title: 'Items - Fase: '+ nombre,
																			itemId: 'itemform',
																			width: 375,
																			listeners: {
																				refresh: function() {
																					PanelItem.child('#itemgrid').onRefresh();		
																				},
																				reset: function() {
																					PanelItem.child('#itemgrid').getSelectionModel().clearSelections();
																					
																				},
																				fireAtribModif: function(data) {
																					
																					nombre = extraer(data, '&nombre=', '&descripcion=');
																					descripcion = extraer(data, '&descripcion=', '&complejidad=');
																					complejidad = extraer(data, '&complejidad=', '&version=');
																					tipoItem = extraer(data, '&tipoItem=', '&aux=');
																					id = extraer(data, 'id=', '&');
																					winAtribModif = Ext.create('widget.window', {
																							width: 290,
																							y: 185,
																							iconCls: 'icon-alpha',
																							title: 'Modificar Atributos',
																							closable: true,
																							plain: true,
																							layout: 'fit',
																							items: [PanelCrearAtrib = Ext.widget('form', {
																							frame: true,
																							bodyPadding: 20,
																							defaults: {
																								anchor: '100%'
																							},
																							items: [{
																									xtype:'textfield',
																									name: 'id_item',
																									value: id,
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'nombre',
																									fieldLabel: '<b>Nombre</b>',
																									value: nombre,
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																							},{
																									xtype:'textfield',
																									name: 'descripcion',
																									fieldLabel: '<b>Descripcion</b>',
																									value: descripcion,
																									//hidden: true,
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																							},{
																									xtype:'textfield',
																									name: 'complejidad',
																									fieldLabel: '<b>complejidad</b>',
																									value: complejidad,
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																							},{
																									xtype:'textfield',
																									name: 'tipoItem',
																									fieldLabel: '<b>TipoItem</b>',
																									value: tipoItem,
																									hidden: true,
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																							},{
																									xtype:'textfield',
																									fieldLabel: '<b><font color="blue">Atributos</font></b>',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																							},{
																									xtype:'textfield',
																									itemId: 'id1',
																									name: 'id1',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo1',
																									name: 'tipo1',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label1',
																									name: 'label1',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'atrib1',
																									itemId: 'atrib1',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'id2',
																									name: 'id2',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo2',
																									name: 'tipo2',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label2',
																									name: 'label2',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'atrib2',
																									name: 'atrib2',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'id3',
																									name: 'id3',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo3',
																									name: 'tipo3',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label3',
																									name: 'label3',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'atrib3',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									itemId: 'atrib3',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'id4',
																									name: 'id4',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo4',
																									name: 'tipo4',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label4',
																									name: 'label4',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'atrib4',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									itemId: 'atrib4',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'id5',
																									name: 'id5',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo5',
																									name: 'tipo5',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label5',
																									name: 'label5',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'atrib5',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									itemId: 'atrib5',
																									hidden: true,
																							}],
																							dockedItems: [{
																								xtype: 'container',
																								dock: 'bottom',
																								layout: {
																									type: 'hbox',
																									align: 'middle'
																								},
																								items: [{
																									xtype: 'button',
																									style: 'margin-left:180px',
																									text: '<b>Guardar</b>',
																									width: 70,
																									iconCls: 'icon-save',
																									handler: function() {								
																										var form = this.up('form').getForm();
																										form.submit({
																											url: 'modificar_atributo_item2',
																											success: function(form, action) {
																												
																												var jsonData = Ext.JSON.decode(action.response.responseText);								
																												var resultMessage = jsonData['mensaje'];
																												Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																	msg: resultMessage, 	icon: 'ext-mb-ok',
																												});
																												winAtribModif.hide();
																												PanelItem.child('#itemgrid').onRefresh();
																											},
																											failure: function(form, action) {
																												var jsonData = Ext.JSON.decode(action.response.responseText);								
																												var resultMessage = jsonData['mensaje'];
																												Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																	msg: resultMessage, 	icon: 'ext-mb-error',
																												});
																											}
																										});
																									}
																								}]
																							}]
																						}),{
																								border: false
																							}]
																						});
																						
																						Ext.Ajax.request({
																							url: 'info_item',
																							method: 'GET',
																							params: {
																								id_item: id,
																								
																							},
																							success: function(response) {
																								var jsonData = Ext.JSON.decode(response.responseText);
																								var resultMessage = jsonData['data'];
																								
																								nroAtributos = extraer(resultMessage,'{numero:','nro}')
																								
																								idAtrib1 = extraer(resultMessage,'{id1:','-id1}')
																								idAtrib2 = extraer(resultMessage,'{id2:','-id2}')
																								idAtrib3 = extraer(resultMessage,'{id3:','-id3}')
																								idAtrib4 = extraer(resultMessage,'{id4:','-id4}')
																								idAtrib5 = extraer(resultMessage,'{id5:','-id5}')
																								
																								valorAtrib1 = extraer(resultMessage,'{valor1:','-valor1}')
																								valorAtrib2 = extraer(resultMessage,'{valor2:','-valor2}')
																								valorAtrib3 = extraer(resultMessage,'{valor3:','-valor3}')
																								valorAtrib4 = extraer(resultMessage,'{valor4:','-valor4}')
																								valorAtrib5 = extraer(resultMessage,'{valor5:','-valor5}')
																								
																								nombreAtrib1 = extraer(resultMessage,'{nombre1:','-nombre1}')
																								nombreAtrib2 = extraer(resultMessage,'{nombre2:','-nombre2}')
																								nombreAtrib3 = extraer(resultMessage,'{nombre3:','-nombre3}')
																								nombreAtrib4 = extraer(resultMessage,'{nombre4:','-nombre4}')
																								nombreAtrib5 = extraer(resultMessage,'{nombre5:','-nombre5}')
																								
																								tipoAtrib1 = extraer(resultMessage,'{tipo1:','-tipo1}')
																								tipoAtrib2 = extraer(resultMessage,'{tipo2:','-tipo2}')
																								tipoAtrib3 = extraer(resultMessage,'{tipo3:','-tipo3}')
																								tipoAtrib4 = extraer(resultMessage,'{tipo4:','-tipo4}')
																								tipoAtrib5 = extraer(resultMessage,'{tipo5:','-tipo5}')
																								
																								if (nroAtributos == '1'){
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1)
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#id1').setValue(idAtrib1);
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#atrib1').show();							
																								}
																								if (nroAtributos == '2'){
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#atrib2').setValue(valorAtrib2);
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1);
																									PanelCrearAtrib.down('#label2').setValue(nombreAtrib2);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#tipo2').setValue(tipoAtrib2);
																									PanelCrearAtrib.down('#id1').setValue(idAtrib1);
																									PanelCrearAtrib.down('#id2').setValue(idAtrib2);
																									PanelCrearAtrib.down('#atrib1').show();
																									PanelCrearAtrib.down('#atrib2').show();
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#label2').show();
																								}
																								if (nroAtributos == '3'){
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#atrib2').setValue(valorAtrib2);
																									PanelCrearAtrib.down('#atrib3').setValue(valorAtrib3);
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1);
																									PanelCrearAtrib.down('#label2').setValue(nombreAtrib2);
																									PanelCrearAtrib.down('#label3').setValue(nombreAtrib3);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#tipo2').setValue(tipoAtrib2);
																									PanelCrearAtrib.down('#tipo3').setValue(tipoAtrib3);
																									PanelCrearAtrib.down('#id1').setValue(idAtrib1);
																									PanelCrearAtrib.down('#id2').setValue(idAtrib2);
																									PanelCrearAtrib.down('#id3').setValue(idAtrib3);
																									PanelCrearAtrib.down('#atrib1').show();
																									PanelCrearAtrib.down('#atrib2').show();
																									PanelCrearAtrib.down('#atrib3').show();
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#label2').show();
																									PanelCrearAtrib.down('#label3').show();
																								}
																								if (nroAtributos == '4'){
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#atrib2').setValue(valorAtrib2);
																									PanelCrearAtrib.down('#atrib3').setValue(valorAtrib3);
																									PanelCrearAtrib.down('#atrib4').setValue(valorAtrib4);
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1);
																									PanelCrearAtrib.down('#label2').setValue(nombreAtrib2);
																									PanelCrearAtrib.down('#label3').setValue(nombreAtrib3);
																									PanelCrearAtrib.down('#label4').setValue(nombreAtrib4);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#tipo2').setValue(tipoAtrib2);
																									PanelCrearAtrib.down('#tipo3').setValue(tipoAtrib3);
																									PanelCrearAtrib.down('#tipo4').setValue(tipoAtrib4);
																									PanelCrearAtrib.down('#id1').setValue(idAtrib1);
																									PanelCrearAtrib.down('#id2').setValue(idAtrib2);
																									PanelCrearAtrib.down('#id3').setValue(idAtrib3);
																									PanelCrearAtrib.down('#id4').setValue(idAtrib4);
																									PanelCrearAtrib.down('#atrib1').show();
																									PanelCrearAtrib.down('#atrib2').show();
																									PanelCrearAtrib.down('#atrib3').show();
																									PanelCrearAtrib.down('#atrib4').show();
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#label2').show();
																									PanelCrearAtrib.down('#label3').show();
																									PanelCrearAtrib.down('#label4').show();
																								}
																								if (nroAtributos == '5'){
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#atrib2').setValue(valorAtrib2);
																									PanelCrearAtrib.down('#atrib3').setValue(valorAtrib3);
																									PanelCrearAtrib.down('#atrib4').setValue(valorAtrib4);
																									PanelCrearAtrib.down('#atrib5').setValue(valorAtrib5);
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1);
																									PanelCrearAtrib.down('#label2').setValue(nombreAtrib2);
																									PanelCrearAtrib.down('#label3').setValue(nombreAtrib3);
																									PanelCrearAtrib.down('#label4').setValue(nombreAtrib4);
																									PanelCrearAtrib.down('#label5').setValue(nombreAtrib5);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#tipo2').setValue(tipoAtrib2);
																									PanelCrearAtrib.down('#tipo3').setValue(tipoAtrib3);
																									PanelCrearAtrib.down('#tipo4').setValue(tipoAtrib4);
																									PanelCrearAtrib.down('#tipo5').setValue(tipoAtrib5);
																									PanelCrearAtrib.down('#id1').setValue(idAtrib1);
																									PanelCrearAtrib.down('#id2').setValue(idAtrib2);
																									PanelCrearAtrib.down('#id3').setValue(idAtrib3);
																									PanelCrearAtrib.down('#id4').setValue(idAtrib4);
																									PanelCrearAtrib.down('#id5').setValue(idAtrib5);
																									PanelCrearAtrib.down('#atrib1').show();
																									PanelCrearAtrib.down('#atrib2').show();
																									PanelCrearAtrib.down('#atrib3').show();
																									PanelCrearAtrib.down('#atrib4').show();
																									PanelCrearAtrib.down('#atrib5').show();
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#label2').show();
																									PanelCrearAtrib.down('#label3').show();
																									PanelCrearAtrib.down('#label4').show();
																									PanelCrearAtrib.down('#label5').show();
																								}
																								
																							}
																						});
																						winAtribModif.show();
																					
																				},
																				fireAtribCrear: function(data) {
																					
																					nombre = extraer(data, '&nombre=', '&descripcion=');
																					descripcion = extraer(data, '&descripcion=', '&complejidad=');
																					complejidad = extraer(data, '&complejidad=', '&version=');
																					tipoItem = extraer(data, '&tipoItem=', '&aux=');
																					idFase = extraer(data, '&idFase=', '&nombre=');
																					winAtrib = Ext.create('widget.window', {
																							width: 290,
																							y: 185,
																							iconCls: 'icon-alpha',
																							title: 'Crear Items',
																							closable: true,
																							plain: true,
																							layout: 'fit',
																							items: [PanelCrearAtrib = Ext.widget('form', {
																							frame: true,
																							bodyPadding: 20,
																							defaults: {
																								anchor: '100%'
																							},
																							items: [{
																									xtype:'textfield',
																									name: 'idFase',
																									value: idFase,
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'nombre',
																									fieldLabel: '<b>Nombre</b>',
																									value: nombre,
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																							},{
																									xtype:'textfield',
																									name: 'descripcion',
																									fieldLabel: '<b>Descripcion</b>',
																									value: descripcion,
																									hidden: true,
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																							},{
																									xtype:'textfield',
																									name: 'complejidad',
																									fieldLabel: '<b>complejidad</b>',
																									value: complejidad,
																									//hidden: true,
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																							},{
																									xtype:'textfield',
																									name: 'tipoItem',
																									fieldLabel: '<b>TipoItem</b>',
																									value: tipoItem,
																									//hidden: true,
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																							},{
																									xtype:'textfield',
																									fieldLabel: '<b><font color="blue">Atributos</font></b>',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																							},{
																									xtype:'textfield',
																									itemId: 'tipo1',
																									name: 'tipo1',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label1',
																									name: 'label1',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'atrib1',
																									itemId: 'atrib1',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo2',
																									name: 'tipo2',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label2',
																									name: 'label2',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'atrib2',
																									name: 'atrib2',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo3',
																									name: 'tipo3',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label3',
																									name: 'label3',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'atrib3',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									itemId: 'atrib3',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo4',
																									name: 'tipo4',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label4',
																									name: 'label4',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'atrib4',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									itemId: 'atrib4',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'tipo5',
																									name: 'tipo5',
																									//fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									itemId: 'label5',
																									name: 'label5',
																									fieldStyle: 'background-color: transparent; border: none; background-image: none;',
																									hidden: true,
																							},{
																									xtype:'textfield',
																									name: 'atrib5',
																									fieldStyle: 'background-color: #fff; border: 1px dotted;',
																									itemId: 'atrib5',
																									hidden: true,
																							}],
																							dockedItems: [{
																								xtype: 'container',
																								dock: 'bottom',
																								layout: {
																									type: 'hbox',
																									align: 'middle'
																								},
																								items: [{
																									xtype: 'button',
																									style: 'margin-left:180px',
																									text: '<b>Crear</b>',
																									width: 70,
																									iconCls: 'icon-add',
																									handler: function() {								
																										var form = this.up('form').getForm();
																										form.submit({
																											url: 'crear_item2',
																											success: function(form, action) {
																												
																												var jsonData = Ext.JSON.decode(action.response.responseText);								
																												var resultMessage = jsonData['mensaje'];
																												Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																	msg: resultMessage, 	icon: 'ext-mb-ok',
																												});
																												winAtrib.hide();
																												PanelItem.child('#itemgrid').onRefresh();	
																											},
																											failure: function(form, action) {
																												var jsonData = Ext.JSON.decode(action.response.responseText);								
																												var resultMessage = jsonData['mensaje'];
																												Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																	msg: resultMessage, 	icon: 'ext-mb-error',
																												});
																											}
																										});
																									}
																								}]
																							}]
																						}),{
																								border: false
																							}]
																						});
																						
																						Ext.Ajax.request({
																							url: 'info_tipo',
																							method: 'GET',
																							params: {
																								id_tipo: tipoItem,
																								
																							},
																							success: function(response) {
																								var jsonData = Ext.JSON.decode(response.responseText);
																								var resultMessage = jsonData['data'];
																								
																								nroAtributos = extraer(resultMessage,'{numero:','nro}')
																								
																								valorAtrib1 = extraer(resultMessage,'{valor1:','-valor1}')
																								valorAtrib2 = extraer(resultMessage,'{valor2:','-valor2}')
																								valorAtrib3 = extraer(resultMessage,'{valor3:','-valor3}')
																								valorAtrib4 = extraer(resultMessage,'{valor4:','-valor4}')
																								valorAtrib5 = extraer(resultMessage,'{valor5:','-valor5}')
																								
																								nombreAtrib1 = extraer(resultMessage,'{nombre1:','-nombre1}')
																								nombreAtrib2 = extraer(resultMessage,'{nombre2:','-nombre2}')
																								nombreAtrib3 = extraer(resultMessage,'{nombre3:','-nombre3}')
																								nombreAtrib4 = extraer(resultMessage,'{nombre4:','-nombre4}')
																								nombreAtrib5 = extraer(resultMessage,'{nombre5:','-nombre5}')
																								
																								tipoAtrib1 = extraer(resultMessage,'{tipo1:','-tipo1}')
																								tipoAtrib2 = extraer(resultMessage,'{tipo2:','-tipo2}')
																								tipoAtrib3 = extraer(resultMessage,'{tipo3:','-tipo3}')
																								tipoAtrib4 = extraer(resultMessage,'{tipo4:','-tipo4}')
																								tipoAtrib5 = extraer(resultMessage,'{tipo5:','-tipo5}')
																								
																								if (nroAtributos == '1'){
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1)
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#atrib1').show();							
																								}
																								if (nroAtributos == '2'){
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#atrib2').setValue(valorAtrib2);
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1);
																									PanelCrearAtrib.down('#label2').setValue(nombreAtrib2);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#tipo2').setValue(tipoAtrib2);
																									PanelCrearAtrib.down('#atrib1').show();
																									PanelCrearAtrib.down('#atrib2').show();
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#label2').show();
																								}
																								if (nroAtributos == '3'){
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#atrib2').setValue(valorAtrib2);
																									PanelCrearAtrib.down('#atrib3').setValue(valorAtrib3);
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1);
																									PanelCrearAtrib.down('#label2').setValue(nombreAtrib2);
																									PanelCrearAtrib.down('#label3').setValue(nombreAtrib3);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#tipo2').setValue(tipoAtrib2);
																									PanelCrearAtrib.down('#tipo3').setValue(tipoAtrib3);
																									PanelCrearAtrib.down('#atrib1').show();
																									PanelCrearAtrib.down('#atrib2').show();
																									PanelCrearAtrib.down('#atrib3').show();
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#label2').show();
																									PanelCrearAtrib.down('#label3').show();
																								}
																								if (nroAtributos == '4'){
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#atrib2').setValue(valorAtrib2);
																									PanelCrearAtrib.down('#atrib3').setValue(valorAtrib3);
																									PanelCrearAtrib.down('#atrib4').setValue(valorAtrib4);
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1);
																									PanelCrearAtrib.down('#label2').setValue(nombreAtrib2);
																									PanelCrearAtrib.down('#label3').setValue(nombreAtrib3);
																									PanelCrearAtrib.down('#label4').setValue(nombreAtrib4);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#tipo2').setValue(tipoAtrib2);
																									PanelCrearAtrib.down('#tipo3').setValue(tipoAtrib3);
																									PanelCrearAtrib.down('#tipo4').setValue(tipoAtrib4);
																									PanelCrearAtrib.down('#atrib1').show();
																									PanelCrearAtrib.down('#atrib2').show();
																									PanelCrearAtrib.down('#atrib3').show();
																									PanelCrearAtrib.down('#atrib4').show();
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#label2').show();
																									PanelCrearAtrib.down('#label3').show();
																									PanelCrearAtrib.down('#label4').show();
																								}
																								if (nroAtributos == '5'){
																									PanelCrearAtrib.down('#atrib1').setValue(valorAtrib1);
																									PanelCrearAtrib.down('#atrib2').setValue(valorAtrib2);
																									PanelCrearAtrib.down('#atrib3').setValue(valorAtrib3);
																									PanelCrearAtrib.down('#atrib4').setValue(valorAtrib4);
																									PanelCrearAtrib.down('#atrib5').setValue(valorAtrib5);
																									PanelCrearAtrib.down('#label1').setValue(nombreAtrib1);
																									PanelCrearAtrib.down('#label2').setValue(nombreAtrib2);
																									PanelCrearAtrib.down('#label3').setValue(nombreAtrib3);
																									PanelCrearAtrib.down('#label4').setValue(nombreAtrib4);
																									PanelCrearAtrib.down('#label5').setValue(nombreAtrib5);
																									PanelCrearAtrib.down('#tipo1').setValue(tipoAtrib1);
																									PanelCrearAtrib.down('#tipo2').setValue(tipoAtrib2);
																									PanelCrearAtrib.down('#tipo3').setValue(tipoAtrib3);
																									PanelCrearAtrib.down('#tipo4').setValue(tipoAtrib4);
																									PanelCrearAtrib.down('#tipo5').setValue(tipoAtrib5);
																									PanelCrearAtrib.down('#atrib1').show();
																									PanelCrearAtrib.down('#atrib2').show();
																									PanelCrearAtrib.down('#atrib3').show();
																									PanelCrearAtrib.down('#atrib4').show();
																									PanelCrearAtrib.down('#atrib5').show();
																									PanelCrearAtrib.down('#label1').show();
																									PanelCrearAtrib.down('#label2').show();
																									PanelCrearAtrib.down('#label3').show();
																									PanelCrearAtrib.down('#label4').show();
																									PanelCrearAtrib.down('#label5').show();
																								}
																								
																							}
																						});
																						winAtrib.show();
																					
																				},
																				fireGrafo: function(data) {
																					var winGrafo = Ext.create('widget.window', {
																						x:400,
																						y: 200,
																						resizable   : false,
																						//draggable   : false,
																						iconCls: 'icon-grafo',
																						title: 'GRAFO ITEMS',
																						closable: true,
																						bodyStyle: 'background-color: #fff;',
																						layout: 'fit',
																						items: [{
																							border: false
																						},img = Ext.create('Ext.Img',{
																						  id: 'img2',
																						   height :380,
																						   width: 650,
																						   name: 'imgx',
																						   src: 'grafo_proyecto/' + id_Proyecto
																						})]
																					});
																					winGrafo.show();  
																				},
																				buscar: function(data) {
																					nombre= extraer(data, '&nombre=', '&descripcion='); complejidad= extraer(data, '&complejidad=', '&version='); 
																					version= extraer(data, '&version=', '&estado='); estado= extraer(data, '&estado=', '&tipoItem=');
																					
																					/*Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																										msg: data, 	icon: 'ext-mb-ok',
																								});*/
																					if(nombre==='') nombre='nulo';
																					if(version==='') version='99999';
																					if(estado==='') estado='nulo';
																					if(complejidad==='') complejidad='999999';
																					
																					PanelItem.child('#itemgrid').store.setProxy({
																														type: 'ajax',
																														url: 'buscar_items_por_fases/' + id + '/' + nombre + '/' + complejidad + '/' +  version + '/' + estado ,
																														reader: {
																															type: 'json',
																															successProperty: 'success',
																															root: 'data',
																															messageProperty: 'message'
																														},
																													
																													});
																					PanelItem.child('#itemgrid').onRefresh();
																					
																				},
																				listar: function() {							
																					PanelItem.child('#itemgrid').store.setProxy({
																														type: 'ajax',
																														url: 'listar_items_por_fases/'+ id,
																														reader: {
																															type: 'json',
																															successProperty: 'success',
																															root: 'data',
																															messageProperty: 'message'
																														},
																													
																													});
																					PanelItem.child('#itemgrid').onRefresh();																					
																				},
																				ddHijo: function(data){
																					var grid7, grid8;
																					nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																					winHijo = Ext.create('widget.window', {
																						iconCls: 'icon-rel-pad',
																						x: 500, y: 260,//
																						title: 'Relaciones - Hijos: ' + nombre,
																						closable: false,
																						plain: true,
																						layout: 'fit',
																						items: [PanelHijo = Ext.create('Ext.Panel', {
																									width : 270,	height : 220,//
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									defaults  : { flex : 1 }, 
																									items : [
																											grid7 = Ext.create('Ext.grid.Panel', {
																												multiSelect: true,
																												hidden:true,//
																												viewConfig: {
																													plugins: {
																															ptype: 'gridviewdragdrop',
																															dragGroup: 'firstGridDDGroup',
																															dropGroup: 'secondGridDDGroup'
																													},
																												},
																												store: Ext.create('Ext.data.Store', {
																															model: 'DataItem',
																															autoLoad: true,
																															proxy: {
																																type: 'ajax',
																																url: 'listar_no_hijos/' + idItem,
																																reader: {
																																	type: 'json',
																																	successProperty: 'success',
																																	root: 'data',
																																	messageProperty: 'message'
																																},

																															}      
																														}),
																												columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Items de la Fase Actual</b>", flex: 1, sortable: true, dataIndex: 'nombreItem'} ],
																												stripeRows : true
																											}),
																											grid8 = Ext.create('Ext.grid.Panel', {
																												multiSelect: true,
																												viewConfig: {
																													plugins: {
																															ptype: 'gridviewdragdrop',
																															dragGroup: 'secondGridDDGroup',
																															dropGroup: 'firstGridDDGroup'
																														},
																												},
																												store: Ext.create('Ext.data.Store', {
																														model: 'DataItem',
																														autoLoad: true,
																														proxy: {
																															type: 'ajax',
																															url: 'listar_hijos/' + idItem,
																															reader: {
																																type: 'json',
																																successProperty: 'success',
																																root: 'data',
																																messageProperty: 'message'
																															},

																														}       
																												}),
																												columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Items Hijos</b>", flex: 1, sortable: true, dataIndex: 'nombreItem'} ],
																												stripeRows : true
																											})
																									],
																									dockedItems: {
																										xtype: 'toolbar',
																										dock: 'bottom',
																										items: ['->', // Fill
																										{
																											text: 'Asignar',//
																											iconCls: 'icon-izq',//
																											handler: function(){
																												this.up('panel').setWidth(520);//
																												grid7.show();//
																												this.hide();//
																												PanelHijo.down('#save').show();//
																											}
																										},{
																											text: 'Guardar',
																											iconCls: 'icon-save',
																											itemId: 'save',//
																											hidden:true,//
																											handler: function(){
																												grid8.getSelectionModel().selectAll();
																												longitud= grid8.getSelectionModel().getSelection().length;
																												lista_Item = new Array(longitud);
																												i=0;
																												while(i < longitud)
																												{											
																													lista_Item[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																													i=i+1;
																												}	
																												grid8.getSelectionModel().deselectAll();											
																												Ext.Ajax.request({
																													url: 'relacionar_hijo',
																													params: {
																														id_item: idItem,
																														lista_Item:Ext.encode(lista_Item)
																													},
																													success: function(response) {
																														var jsonData = Ext.JSON.decode(response.responseText);
																														var resultMessage = jsonData['mensaje'];
																														Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																			msg: resultMessage, 	icon: 'ext-mb-ok',
																														});	
																														winHijo.close();
																														PanelItem.child('#itemgrid').onRefresh();	
																														PanelItem.child('#itemform').onReset();
																														
																													},
																													failure: function() {
																														Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																																			msg: 'Error en la operacion Relacionar Item Hijo', 	icon: 'ext-mb-error',
																															});
																													}
																												})
																												
																											}
																										},
																										{
																											text: 'Cerrar',
																											iconCls: 'icon-cerrar',
																											handler: function(){winHijo.close()}
																										}]
																									}
																							}),{
																							border: false
																						}]
																					});					
																					winHijo.show();						
																				},
																				ddPadre: function(data){
																					var grid7, grid8;
																					nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																					winPadre = Ext.create('widget.window', {
																						iconCls: 'icon-rel-pad',
																						x: 500, y: 260,//
																						title: 'Relaciones - Padre: ' + nombre,
																						closable: false,
																						plain: true,
																						layout: 'fit',
																						items: [PanelPadre = Ext.create('Ext.Panel', {
																									width : 270,	height : 220,//
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									defaults  : { flex : 1 }, 
																									items : [
																											grid7 = Ext.create('Ext.grid.Panel', {
																												multiSelect: true,
																												hidden:true,//
																												viewConfig: {
																													plugins: {
																															ptype: 'gridviewdragdrop',
																															dragGroup: 'firstGridDDGroup',
																															dropGroup: 'secondGridDDGroup'
																													},
																												},
																												store: Ext.create('Ext.data.Store', {
																															model: 'DataItem',
																															autoLoad: true,
																															proxy: {
																																type: 'ajax',
																																url: 'listar_items_fase/' + idItem,
																																reader: {
																																	type: 'json',
																																	successProperty: 'success',
																																	root: 'data',
																																	messageProperty: 'message'
																																},

																															}      
																														}),
																												columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Items de la Fase Actual</b>", flex: 1, sortable: true, dataIndex: 'nombreItem'} ],
																												stripeRows : true
																											}),
																											grid8 = Ext.create('Ext.grid.Panel', {
																												multiSelect: true,
																												viewConfig: {
																													plugins: {
																															ptype: 'gridviewdragdrop',
																															dragGroup: 'secondGridDDGroup',
																															dropGroup: 'firstGridDDGroup'
																														},
																												},
																												store: Ext.create('Ext.data.Store', {
																														model: 'DataItem',
																														autoLoad: true,
																														proxy: {
																															type: 'ajax',
																															url: 'listar_padre/' + idItem,
																															reader: {
																																type: 'json',
																																successProperty: 'success',
																																root: 'data',
																																messageProperty: 'message'
																															},

																														}       
																												}),
																												columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Item Padre</b>", flex: 1, sortable: true, dataIndex: 'nombreItem'} ],
																												stripeRows : true
																											})
																									],
																									dockedItems: {
																										xtype: 'toolbar',
																										dock: 'bottom',
																										items: ['->', // Fill
																										{
																											text: 'Asignar',
																											iconCls: 'icon-izq',
																											handler: function(){
																												this.up('panel').setWidth(520);
																												grid7.show();
																												this.hide();
																												PanelPadre.down('#save').show();
																											}
																										},{
																											text: 'Guardar',
																											iconCls: 'icon-save',
																											itemId: 'save',//
																											hidden:true,//
																											handler: function(){
																												grid8.getSelectionModel().selectAll();
																												longitud= grid8.getSelectionModel().getSelection().length;
																												if (longitud > 1){
																													Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																			msg: 'Solo se puede asignar un Padre', 	icon: 'ext-mb-error',
																														});
																													grid8.getSelectionModel().deselectAll();
																												}
																												else{
																													lista_Item = new Array(longitud);
																													i=0;
																													while(i < longitud)
																													{											
																														lista_Item[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																														i=i+1;
																													}	
																													grid8.getSelectionModel().deselectAll();											
																													Ext.Ajax.request({
																														url: 'relacionar_padre',
																														params: {
																															id_item: idItem,
																															lista_Item:Ext.encode(lista_Item)
																														},
																														success: function(response) {
																															var jsonData = Ext.JSON.decode(response.responseText);
																															var resultMessage = jsonData['mensaje'];
																															Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																				msg: resultMessage, 	icon: 'ext-mb-ok',
																															});																															
																															winPadre.close();
																															PanelItem.child('#itemgrid').onRefresh();	
																															PanelItem.child('#itemform').onReset();
																														},
																														failure: function() {
																															Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																																			msg: 'Error en la operacion Relacionar Item Padre', 	icon: 'ext-mb-error',
																															});
																														}
																													})
																												}
																											}
																										},
																										{
																											text: 'Cerrar',
																											iconCls: 'icon-cerrar',
																											handler: function(){winPadre.close()}
																										}]
																									}
																							}),{
																							border: false
																						}]
																					});					
																					winPadre.show();						
																				},
																				ddSucesor: function(data){
																					var grid7, grid8;
																					nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																					winSucesor = Ext.create('widget.window', {
																						iconCls: 'icon-rel-ant',
																						x: 500, y: 260,//
																						title: 'Relaciones - Sucesor: ' + nombre,
																						closable: false,
																						plain: true,
																						layout: 'fit',
																						items: [PanelSucesor = Ext.create('Ext.Panel', {
																									width : 270,	height : 220,//
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									defaults  : { flex : 1 }, 
																									items : [
																											grid7 = Ext.create('Ext.grid.Panel', {
																												multiSelect: true,
																												hidden:true,//
																												viewConfig: {
																													plugins: {
																															ptype: 'gridviewdragdrop',
																															dragGroup: 'firstGridDDGroup',
																															dropGroup: 'secondGridDDGroup'
																													},
																												},
																												store: Ext.create('Ext.data.Store', {
																															model: 'DataItem',
																															autoLoad: true,
																															proxy: {
																																type: 'ajax',
																																url: 'listar_no_sucesor/' + idItem,
																																reader: {
																																	type: 'json',
																																	successProperty: 'success',
																																	root: 'data',
																																	messageProperty: 'message'
																																},

																															}      
																														}),
																												columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Items de la Fase Posterior</b>", flex: 1, sortable: true, dataIndex: 'nombreItem'} ],
																												stripeRows : true
																											}),
																											grid8 = Ext.create('Ext.grid.Panel', {
																												multiSelect: true,
																												viewConfig: {
																													plugins: {
																															ptype: 'gridviewdragdrop',
																															dragGroup: 'secondGridDDGroup',
																															dropGroup: 'firstGridDDGroup'
																														},
																												},
																												store: Ext.create('Ext.data.Store', {
																														model: 'DataItem',
																														autoLoad: true,
																														proxy: {
																															type: 'ajax',
																															url: 'listar_sucesor/' + idItem,
																															reader: {
																																type: 'json',
																																successProperty: 'success',
																																root: 'data',
																																messageProperty: 'message'
																															},

																														}       
																												}),
																												columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Item Sucesor</b>", flex: 1, sortable: true, dataIndex: 'nombreItem'} ],
																												stripeRows : true
																											})
																									],
																									dockedItems: {
																										xtype: 'toolbar',
																										dock: 'bottom',
																										items: ['->', // Fill
																										{
																											text: 'Asignar',
																											iconCls: 'icon-izq',
																											handler: function(){
																												this.up('panel').setWidth(520);
																												grid7.show();//
																												this.hide();
																												PanelSucesor.down('#save').show();//
																											}
																										},{
																											text: 'Guardar',
																											iconCls: 'icon-save',
																											itemId: 'save',//
																											hidden:true,//
																											handler: function(){
																												grid8.getSelectionModel().selectAll();
																												longitud= grid8.getSelectionModel().getSelection().length;
																												
																													lista_Item = new Array(longitud);
																													i=0;
																													while(i < longitud)
																													{											
																														lista_Item[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																														i=i+1;
																													}	
																													grid8.getSelectionModel().deselectAll();											
																													Ext.Ajax.request({
																														url: 'relacionar_sucesor',
																														params: {
																															id_item: idItem,
																															lista_Item:Ext.encode(lista_Item)
																														},
																														success: function(response) {
																															var jsonData = Ext.JSON.decode(response.responseText);
																															var resultMessage = jsonData['mensaje'];
																															Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																				msg: resultMessage, 	icon: 'ext-mb-ok',
																															});	
																															winSucesor.close();
																															PanelItem.child('#itemgrid').onRefresh();	
																															PanelItem.child('#itemform').onReset();
																														},
																														failure: function() {
																															Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																																			msg: 'Error en la operacion Relacionar Item Sucesor', 	icon: 'ext-mb-error',
																															});
																														}
																													})
																												
																											}
																										},
																										{
																											text: 'Cerrar',
																											iconCls: 'icon-cerrar',
																											handler: function(){winSucesor.close()}
																										}]
																									}
																							}),{
																							border: false
																						}]
																					});					
																					winSucesor.show();						
																				},
																				ddAntecesor: function(data){
																					var grid7, grid8;
																					nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																					winAntecesor = Ext.create('widget.window', {
																						iconCls: 'icon-rel-ant',
																						x: 500, y: 260,//
																						title: 'Relaciones - Antecesor: ' + nombre,
																						closable: false,
																						plain: true,
																						layout: 'fit',
																						items: [PanelAntecesor = Ext.create('Ext.Panel', {
																									width : 270,	height : 220,//
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									defaults  : { flex : 1 }, 
																									items : [
																											grid7 = Ext.create('Ext.grid.Panel', {
																												multiSelect: true,
																												hidden:true,//
																												viewConfig: {
																													plugins: {
																															ptype: 'gridviewdragdrop',
																															dragGroup: 'firstGridDDGroup',
																															dropGroup: 'secondGridDDGroup'
																													},
																												},
																												store: Ext.create('Ext.data.Store', {
																															model: 'DataItem',
																															autoLoad: true,
																															proxy: {
																																type: 'ajax',
																																url: 'listar_items_fase_ant/' + idItem,
																																reader: {
																																	type: 'json',
																																	successProperty: 'success',
																																	root: 'data',
																																	messageProperty: 'message'
																																},

																															}      
																														}),
																												columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Items de la Fase Anterior</b>", flex: 1, sortable: true, dataIndex: 'nombreItem'} ],
																												stripeRows : true
																											}),
																											grid8 = Ext.create('Ext.grid.Panel', {
																												multiSelect: true,
																												viewConfig: {
																													plugins: {
																															ptype: 'gridviewdragdrop',
																															dragGroup: 'secondGridDDGroup',
																															dropGroup: 'firstGridDDGroup'
																														},
																												},
																												store: Ext.create('Ext.data.Store', {
																														model: 'DataItem',
																														autoLoad: true,
																														proxy: {
																															type: 'ajax',
																															url: 'listar_antecesor/' + idItem,
																															reader: {
																																type: 'json',
																																successProperty: 'success',
																																root: 'data',
																																messageProperty: 'message'
																															},

																														}       
																												}),
																												columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Item Antecesor</b>", flex: 1, sortable: true, dataIndex: 'nombreItem'} ],
																												stripeRows : true
																											})
																									],
																									dockedItems: {
																										xtype: 'toolbar',
																										dock: 'bottom',
																										items: ['->', // Fill
																										{
																											text: 'Asignar',
																											iconCls: 'icon-izq',
																											handler: function(){
																												this.up('panel').setWidth(520);
																												grid7.show();//
																												this.hide();
																												PanelAntecesor.down('#save').show();//
																											}
																										},{
																											text: 'Guardar',
																											iconCls: 'icon-save',
																											itemId: 'save',//
																											hidden:true,//
																											handler: function(){
																												grid8.getSelectionModel().selectAll();
																												longitud= grid8.getSelectionModel().getSelection().length;
																												
																													lista_Item = new Array(longitud);
																													i=0;
																													while(i < longitud)
																													{											
																														lista_Item[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																														i=i+1;
																													}	
																													grid8.getSelectionModel().deselectAll();											
																													Ext.Ajax.request({
																														url: 'relacionar_antecesor',
																														params: {
																															id_item: idItem,
																															lista_Item:Ext.encode(lista_Item)
																														},
																														success: function(response) {
																															var jsonData = Ext.JSON.decode(response.responseText);
																															var resultMessage = jsonData['mensaje'];
																															Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																				msg: resultMessage, 	icon: 'ext-mb-ok',
																															});	
																															winAntecesor.close();
																															PanelItem.child('#itemgrid').onRefresh();	
																															PanelItem.child('#itemform').onReset();
																														},
																														failure: function() {
																															Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																																			msg: 'Error en la operacion Relacionar Item Antecesor', 	icon: 'ext-mb-error',
																															});
																														}
																													})
																												
																											}
																										},
																										{
																											text: 'Cerrar',
																											iconCls: 'icon-cerrar',
																											handler: function(){winAntecesor.close()}
																										}]
																									}
																							}),{
																							border: false
																						}]
																					});					
																					winAntecesor.show();						
																				},
																				ddHistorial: function(data){
																					var gridHistorial;
																					nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																					winHistorial = Ext.create('widget.window', {
																						iconCls: 'icon-historial',
																						x: 360, y: 250,
																						title: 'Historial del Item: ' + nombre,
																						closable: false,
																						plain: true,
																						layout: 'fit',
																						items: [PanelHistorial = Ext.create('Ext.Panel', {
																									width : 700,	height : 260,
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									defaults  : { flex : 1 }, 
																									items : [
																											gridHistorial = Ext.create('Ext.grid.Panel', {
																																																								
																												store: Ext.create('Ext.data.Store', {
																															model: 'DataHistorialItem',
																															autoLoad: true,
																															proxy: {
																																type: 'ajax',
																																url: 'listar_historial_item/' + idItem,
																																reader: {
																																	type: 'json',
																																	successProperty: 'success',
																																	root: 'data',
																																	messageProperty: 'message'
																																},

																															},
																															sorters: [{
																																	property: 'version',
																																	direction: 'DESC'
																															}]
																														}),
																												columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																															{text: "<b>Nombre</b>", width: 100, dataIndex: 'nombreItem'}, 
																															{text: "<b>Version</b>", width: 70, dataIndex: 'version'},
																															{text: "<b>Estado</b>", width: 100, dataIndex: 'estado'},
																															{text: "<b>Descripcion</b>", flex: 1, dataIndex: 'descripcion'},
																															{text: "<b>Usuario</b>", width: 100, dataIndex: 'nombreUsuario'},
																															{text: "<b>Fecha</b>", width: 120, dataIndex: 'fecha'}],																															
																															
																												stripeRows : true
																											})
																									],
																									dockedItems: {
																										xtype: 'toolbar',
																										dock: 'bottom',
																										items: ['->', // Fill
																										{
																											text: 'Cerrar',
																											iconCls: 'icon-cerrar',
																											handler: function(){winHistorial.close()}
																										}]
																									}
																							}),{
																							border: false
																						}]
																					});					
																					winHistorial.show();						
																				},
																				ddRevivir: function(data) {
																					//winItem.hide();
																					winRevivir = Ext.create('widget.window', {
																						iconCls: 'icon-alpha',
																						y: 250,	x: 230,								
																						title: 'REVIVIR',
																						closable: false,	
																						plain: true,
																						items: [PanelRevivir = Ext.create('Ext.Panel', {
																									width : 900,
																									height : 290,
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									items : [								
																										{
																											region: 'west',
																											xtype: 'revivirform',
																											title: 'Revivir Items - '+ nombre,
																											itemId: 'revivirform',
																											width: 330,
																											listeners: {
																												refresh: function() {
																													PanelRevivir.child('#revivirgrid').onRefresh();		
																												},
																												salir: function() {
																													PanelRevivir.child('#revivirgrid').onSalir();		
																												},
																												AtributosRevivir: function(data){
																													var gridAtributosRevivir;
																													nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																													winAtributosRevivir = Ext.create('widget.window', {
																														iconCls: 'icon-atributos',
																														x: 450, y: 300,
																														title: 'Atributos del Item: ' + nombre,
																														closable: false,
																														plain: true,
																														layout: 'fit',
																														items: [PanelAtributosRevivir = Ext.create('Ext.Panel', {
																																	width : 450,	height : 200,
																																	layout  : {	type: 'hbox',	align: 'stretch'	},
																																	defaults  : { flex : 1 }, 
																																	items : [
																																			gridAtributosRevivir = Ext.create('Ext.grid.Panel', {
																																																																
																																				store: Ext.create('Ext.data.Store', {
																																							model: 'Writer.Atributo',
																																							autoLoad: true,
																																							proxy: {
																																								type: 'ajax',
																																								url: 'listarAtributos_Item/'+ idItem,
																																								reader: {
																																									type: 'json',
																																									successProperty: 'success',
																																									root: 'data',
																																									messageProperty: 'message'
																																								},

																																							}      
																																						}),
																																				columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																																							{text: "<b>Nombre</b>", width: 120, dataIndex: 'nombreAtributo'},
																																							{text: "<b>Descripcion</b>", flex: 1, dataIndex: 'descripcion'}, 
																																							{text: "<b>Tipo</b>", width: 100, dataIndex: 'tipo'},
																																							{text: "<b>Valor</b>", width: 100, dataIndex: 'valor'}],																															
																																							
																																				stripeRows : true
																																			})
																																	],
																																	dockedItems: {
																																		xtype: 'toolbar',
																																		dock: 'bottom',
																																		items: ['->', // Fill
																																		{
																																			text: 'Cerrar',
																																			iconCls: 'icon-cerrar',
																																			handler: function(){winAtributosRevivir.close()}
																																		}]
																																	}
																															}),{
																															border: false
																														}]
																													});					
																													winAtributosRevivir.show();						
																												}
																											}
																											
																										}, {
																											region: 'center',
																											xtype: 'revivirgrid',            
																											itemId: 'revivirgrid',
																											title: 'Lista de Items eliminados',
																											flex: 1,        
																											store: Ext.create('Ext.data.Store', {
																													model: 'Writer.Item',
																													autoLoad: true,
																													autoSync: true,
																													proxy: {
																														type: 'ajax',
																														url: 'listar_items_eliminados/'+ id,
																														reader: {
																															type: 'json',
																															successProperty: 'success',
																															root: 'data',
																															messageProperty: 'message'
																														},
																														writer: {
																															type: 'json',
																															writeAllFields: false,
																															root: 'data'
																														},

																													},
																													
																													sorters: [{
																														property: 'id',
																														direction: 'ASC'
																													}]        
																												}),
																											listeners: {
																												selectionchange: function(selModel, selected) {
																													PanelRevivir.child('#revivirform').setActiveRecord(selected[0] || null);
																												},
																												salir: function() {
																													winRevivir.close();
																													//winItem.show();
																													PanelItem.child('#itemgrid').onRefresh();
																												}
																											}
																										}]
																									})
																									
																							]
																					});	
																					PanelRevivir.child('#revivirform').down('#idFase').setValue(id);
																					winRevivir.show();
																										
																				},
																				ddRevertir: function(data) {
																					nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																					winRevertir = Ext.create('widget.window', {
																						iconCls: 'icon-alpha',
																						y: 250,	x: 230,
																						title: 'REVERTIR',
																						closable: false,	
																						plain: true,
																						items: [PanelRevertir = Ext.create('Ext.Panel', {
																									width : 900,
																									height : 290,
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									items : [								
																										{
																											region: 'west',
																											xtype: 'revertirform',
																											title: 'Revertir -'+ nombre,
																											itemId: 'revertirform',
																											width: 330,
																											listeners: {
																												refresh: function() {
																													PanelRevertir.child('#revertirgrid').onRefresh();		
																												},
																												salir: function() {
																													PanelRevertir.child('#revertirgrid').onSalir();		
																												},
																												ArchivosRevertir: function(data){
																													var gridAtributosRevertir;
																													nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																													winArchivosRevertir = Ext.create('widget.window', {
																														iconCls: 'icon-atributos',
																														x: 430, y: 280,
																														title: 'Archivos del Item: ' + nombre,
																														closable: false,
																														plain: true,
																														layout: 'fit',
																														items: [PanelArchivosRevertir = Ext.create('Ext.Panel', {
																																	width : 500,	height : 220,
																																	layout  : {	type: 'hbox',	align: 'stretch'	},
																																	defaults  : { flex : 1 }, 
																																	items : [
																																			gridArchivosRevertir = Ext.create('Ext.grid.Panel', {
																																																																
																																				store: Ext.create('Ext.data.Store', {
																																							model: 'Writer.Archivos',
																																							autoLoad: true,
																																							proxy: {
																																								type: 'ajax',
																																								url: 'listar_archivos_item/'+ idItem,
																																								reader: {
																																									type: 'json',
																																									successProperty: 'success',
																																									root: 'data',
																																									messageProperty: 'message'
																																								},

																																							}      
																																						}),
																																				columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																																							{text: "<b>Nombre</b>", flex: 1, dataIndex: 'nombreAtributo'},
																																							{text: "<b>Tipo</b>", flex: 1, dataIndex: 'tipo'},
																																							{text: "<b>Valor</b>", flex: 1, dataIndex: 'valor'}],																															
																																							
																																				stripeRows : true
																																			})
																																	],
																																	dockedItems: {
																																		xtype: 'toolbar',
																																		dock: 'bottom',
																																		items: ['->', // Fill
																																		{
																																			text: 'Cerrar',
																																			iconCls: 'icon-cerrar',
																																			handler: function(){winArchivosRevertir.close()}
																																		}]
																																	}
																															}),{
																															border: false
																														}]
																													});					
																													winArchivosRevertir.show();						
																												},
																												AtributosRevertir: function(data){
																													var gridAtributosRevertir;
																													nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																													winAtributosRevertir = Ext.create('widget.window', {
																														iconCls: 'icon-atributos',
																														x: 430, y: 280,
																														title: 'Atributos del Item: ' + nombre,
																														closable: false,
																														plain: true,
																														layout: 'fit',
																														items: [PanelAtributosRevertir = Ext.create('Ext.Panel', {
																																	width : 500,	height : 220,
																																	layout  : {	type: 'hbox',	align: 'stretch'	},
																																	defaults  : { flex : 1 }, 
																																	items : [
																																			gridAtributosRevertir = Ext.create('Ext.grid.Panel', {
																																																																
																																				store: Ext.create('Ext.data.Store', {
																																							model: 'Writer.Atributo',
																																							autoLoad: true,
																																							proxy: {
																																								type: 'ajax',
																																								url: 'listarAtributos_Item/'+ idItem,
																																								reader: {
																																									type: 'json',
																																									successProperty: 'success',
																																									root: 'data',
																																									messageProperty: 'message'
																																								},

																																							}      
																																						}),
																																				columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																																							{text: "<b>Nombre</b>", flex: 1, dataIndex: 'nombreAtributo'},
																																							{text: "<b>Tipo</b>", flex: 1, dataIndex: 'tipo'},
																																							{text: "<b>Valor</b>", flex: 1, dataIndex: 'valor'}],																															
																																							
																																				stripeRows : true
																																			})
																																	],
																																	dockedItems: {
																																		xtype: 'toolbar',
																																		dock: 'bottom',
																																		items: ['->', // Fill
																																		{
																																			text: 'Cerrar',
																																			iconCls: 'icon-cerrar',
																																			handler: function(){winAtributosRevertir.close()}
																																		}]
																																	}
																															}),{
																															border: false
																														}]
																													});					
																													winAtributosRevertir.show();						
																												}
																											}
																											
																										}, {
																											region: 'center',
																											xtype: 'revertirgrid',            
																											itemId: 'revertirgrid',
																											title: 'Lista de Versiones',
																											flex: 1,        
																											store: Ext.create('Ext.data.Store', {
																													model: 'Writer.Item',
																													autoLoad: true,
																													autoSync: true,
																													proxy: {
																														type: 'ajax',
																														url: 'listarVersionesAnteriores_Revertir/'+ idItem,
																														reader: {
																															type: 'json',
																															successProperty: 'success',
																															root: 'data',
																															messageProperty: 'message'
																														},
																														writer: {
																															type: 'json',
																															writeAllFields: false,
																															root: 'data'
																														},

																													},
																													
																													sorters: [{
																														property: 'id',
																														direction: 'ASC'
																													}]        
																												}),
																											listeners: {
																												selectionchange: function(selModel, selected) {
																													PanelRevertir.child('#revertirform').setActiveRecord(selected[0] || null);
																												},
																												salir: function() {
																													winRevertir.close();
																													//winItem.show();
																													PanelItem.child('#itemform').onReset();
																													PanelItem.child('#itemgrid').onRefresh();
																												}
																											}
																										}]
																									})
																									
																							]
																					});	
																					PanelRevertir.child('#revertirform').down('#idItemRevertido').setValue(idItem);
																					winRevertir.show();
																										
																				},
																				ddAtributos: function(data) {
																					nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																					winAtributosI = Ext.create('widget.window', {
																						iconCls: 'icon-alpha',								
																						title: 'ATRIBUTOS ITEM',
																						y: 250,	x: 400,
																						closable: false,
																						plain: true,
																						items: [PanelAtributosI = Ext.create('Ext.Panel', {
																									width : 500,
																									height : 290,
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									items : [								
																										{
																											region: 'center',
																											xtype: 'atributoIgrid',            
																											itemId: 'atributoIgrid',
																											title: 'Lista de Atributos',
																											flex: 1,        
																											store: Ext.create('Ext.data.Store', {
																													model: 'Writer.Atributo',
																													autoLoad: true,
																													autoSync: true,
																													proxy: {
																														type: 'ajax',
																														url: 'listarAtributos_Item/'+ idItem,
																														reader: {
																															type: 'json',
																															successProperty: 'success',
																															root: 'data',
																															messageProperty: 'message'
																														},
																														writer: {
																															type: 'json',
																															writeAllFields: false,
																															root: 'data'
																														},

																													},
																													
																													sorters: [{
																														property: 'id',
																														direction: 'ASC'
																													}]        
																												}),
																											listeners: {
																												salir: function() {
																													winAtributosI.close();
																													
																												}
																											}
																										}]
																									})
																									
																							]
																					});	
																					//PanelAtributosI.child('#Atributoform').down('#idTipoItem').setValue(id);
																					winAtributosI.show();
																										
																				},
																				fireArchivos: function(data) {
																					nombre = extraer(data, '&nombre=', '&descripcion='); idItem = extraer(data, 'id=', '&');
																					winArchivos = Ext.create('widget.window', {
																						iconCls: 'icon-alpha',								
																						title: 'ARCHIVOS ADJUNTOS ITEM',
																						y: 260,	x: 350,
																						closable: false,
																						items: [PanelArchivos = Ext.create('Ext.Panel', {
																									width : 600,	height : 240,
																									layout  : {	type: 'hbox',	align: 'stretch'	},
																									items : [								
																										{
																											region: 'west',
																											xtype: 'archivosform',
																											title: 'Archivos - '+ nombre,
																											itemId: 'archivosform',
																											width: 280,
																											listeners: {
																												refresh: function() {
																													PanelArchivos.child('#archivosgrid').onRefresh();
																													//this.onReset();
																												},
																												salir: function() {
																													winArchivos.close();
																														
																												},
																												clear: function() {
																													PanelArchivos.child('#archivosgrid').getSelectionModel().clearSelections();
																												},
																												fireAdjuntar: function(data) {
																													idItem = extraer(data, 'id_item=', '&nombre=');
																													winAdjuntar = Ext.create('widget.window', {
																														width: 410,
																														iconCls: 'icon-adjuntar',
																														title: 'ARCHIVO ADJUNTO',
																														closable: true,
																														plain: true,
																														layout: 'fit',
																														items: [formPanelAdjuntar = Ext.widget('form', {
																														frame: true,
																														bodyPadding: 10,
																														fileUpload: true,
																														defaults: {
																															anchor: '100%'
																														},
																														items: [{
																																xtype:'textfield',
																																name: 'id_item',
																																fieldLabel: 'Id',
																																value: idItem,
																																hidden: true,
																														},{
																																xtype:'textfield',
																																name: 'archivo',
																																inputType:'file',
																																fieldLabel: 'Archivo Ajunto'
																														}],
																														dockedItems: [{
																															xtype: 'container',
																															dock: 'bottom',
																															layout: {
																																type: 'hbox',
																																align: 'middle'
																															},
																															items: [{
																																xtype: 'button',
																																formBind: true,
																																disabled: true,
																																text: '<b>Guardar</b>',
																																width: 70,
																																handler: function() {
																																	
																																	var form = this.up('form').getForm();
																																	form.submit({
																																		url: 'adjuntar_archivo_item',
																																		waitMsg: 'Procesando...',
																																		success: function(form, action) {
																																			Ext.Msg.show({  
																																				title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																				msg: 'Archivo adjuntado ', //<- El mensaje  
																																				icon: 'ext-mb-ok',
																																			});
																																			winAdjuntar.close();
																																			PanelArchivos.child('#archivosgrid').onRefresh();
																																		   
																																		},
																																		failure: function(form, action) {
																																			Ext.Msg.show({  
																																			title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																																			msg: 'No se ha podido adjuntar el archivo', //<- El mensaje  
																																			icon: 'ext-mb-error',
																																		});
																																		}
																																	});
																																}
																															}]
																														}]
																													}),{
																															border: false
																														}]
																													});
																													winAdjuntar.show();
																												}																						
																											}
																										}, {
																											region: 'center',
																											xtype: 'archivosgrid',            
																											itemId: 'archivosgrid',
																											title: 'Lista de Archivos',
																											flex: 1,        
																											store: Ext.create('Ext.data.Store', {
																													model: 'Writer.Archivos',
																													autoLoad: true,
																													autoSync: true,
																													proxy: {
																														type: 'ajax',
																														url: 'listar_archivos_item/'+ idItem,
																														reader: {
																															type: 'json',
																															successProperty: 'success',
																															root: 'data',
																															messageProperty: 'message'
																														},
																														writer: {
																															type: 'json',
																															writeAllFields: false,
																															root: 'data'
																														},

																													},
																													
																													sorters: [{
																														property: 'id',
																														direction: 'ASC'
																													}]        
																												}),
																											listeners: {
																												selectionchange: function(selModel, selected) {
																													PanelArchivos.child('#archivosform').setActiveRecord(selected[0] || null);
																												},
																												salir: function() {
																													winArchivos.close();
																												},
																												reset: function() {
																													PanelArchivos.child('#archivosform').onReset();
																												}																												
																											}
																										}]
																									})
																									
																							]
																					});	
																					PanelArchivos.child('#archivosform').down('#idItem').setValue(idItem);
																					winArchivos.show();
																										
																				}
																			}
																			
																		}, {
																			region: 'center',
																			xtype: 'itemgrid',            
																			itemId: 'itemgrid',
																			title: 'Lista de Items',
																			flex: 1,        
																			store: Ext.create('Ext.data.Store', {
																					model: 'Writer.Item',
																					autoLoad: true,
																					//autoSync: true,
																					proxy: {
																						type: 'ajax',
																						url: 'listar_items_por_fases/'+ id,
																						reader: {
																							type: 'json',
																							successProperty: 'success',
																							root: 'data',
																							messageProperty: 'message'
																						},
																						writer: {
																							type: 'json',
																							writeAllFields: false,
																							root: 'data'
																						},

																					},
																					
																					sorters: [{
																						property: 'numero',
																						direction: 'ASC'
																					}]        
																				}),
																			listeners: {
																				selectionchange: function(selModel, selected) {
																					PanelItem.child('#itemform').setActiveRecord(selected[0] || null);
																				},
																				listarTodo: function() {
																					PanelItem.child('#itemform').onListar();
																					//PanelItem.child('#itemform').onReset();
																					
																				},
																				salir: function() {
																					winItem.close();
																					winFases.show();
																					PanelFases.child('#fasesgrid').onRefresh();
																				},
																				buscar: function() {
																					PanelItem.child('#itemform').onFiltrar();
																				}
																			}
																		}]
																	})
																	
															]
													});	
													PanelItem.child('#itemform').down('#idFase').setValue(id);
													PanelItem.child('#itemform').down('#tipoItem').store = Ext.create('Ext.data.Store', {
																												model: 'DataTipoItem',
																												autoLoad: false,
																												proxy: {
																													type: 'ajax',
																													url: 'listar_tipo_items_por_fase/'+ id,
																													reader: {
																														type: 'json',
																														successProperty: 'success',
																														root: 'data',
																														messageProperty: 'message'
																													}
																												}        
																												
																											});
													winItem.show();
																		
												},
												ddImportar: function(data){
													var grid7, grid8;
													winImportarFases = Ext.create('widget.window', {
														iconCls: 'icon-importar',
														x: 400, y: 260,
														title: 'Importar Fases al proyecto: ' + nombreProyecto,
														closable: false,
														plain: true,
														layout: 'fit',
														items: [PanelTipoItem = Ext.create('Ext.Panel', {
																	width : 550,	height : 250,
																	layout  : {	type: 'hbox',	align: 'stretch'	},
																	defaults  : { flex : 1 }, 
																	items : [
																			grid7 = Ext.create('Ext.grid.Panel', {
																				multiSelect: true,
																				viewConfig: {
																					plugins: {
																							ptype: 'gridviewdragdrop',
																							dragGroup: 'firstGridDDGroup',
																							dropGroup: 'secondGridDDGroup'
																					},
																				},
																				store: Ext.create('Ext.data.Store', {
																							model: 'DataFase',
																							autoLoad: true,
																							proxy: {
																								type: 'ajax',
																								url: 'listar_no_fases_por_proyecto/' + id_Proyecto,
																								reader: {
																									type: 'json',
																									successProperty: 'success',
																									root: 'data',
																									messageProperty: 'message'
																								},

																							}      
																						}),
																				columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																							{text: "<b>Fases de otros proyectos</b>", flex: 1, sortable: true, dataIndex: 'nombreFase'} ],
																				stripeRows : true
																			}),
																			grid8 = Ext.create('Ext.grid.Panel', {
																				multiSelect: true,
																				viewConfig: {
																					plugins: {
																							ptype: 'gridviewdragdrop',
																							dragGroup: 'secondGridDDGroup',
																							dropGroup: 'firstGridDDGroup'
																						},
																				},
																				store: Ext.create('Ext.data.Store', {
																						model: 'DataFase',
																						autoLoad: true,
																						proxy: {
																							type: 'ajax',
																							url: 'listar_fases_por_proyecto',
																							reader: {
																								type: 'json',
																								successProperty: 'success',
																								root: 'data',
																								messageProperty: 'message'
																							},

																						}       
																				}),
																				columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																							{text: "<b>Fases Importadas</b>", flex: 1, sortable: true, dataIndex: 'nombreFase'} ],
																				stripeRows : true
																			})
																	],
																	dockedItems: {
																		xtype: 'toolbar',
																		dock: 'bottom',
																		items: ['->', // Fill
																		{
																			text: 'Guardar',
																			iconCls: 'icon-save',
																			handler: function(){
																				grid8.getSelectionModel().selectAll();
																				longitud= grid8.getSelectionModel().getSelection().length;
																				lista_fases = new Array(longitud);
																				i=0;
																				while(i < longitud)
																				{											
																					lista_fases[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																					i=i+1;
																				}	
																				grid8.getSelectionModel().deselectAll();											
																				Ext.Ajax.request({
																					url: 'importar_fases',
																					params: {
																						id_proyecto: id,
																						lista_fases:Ext.encode(lista_fases)
																					},
																					success: function() {
																						Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																											msg: 'Fases importadas correctamente', 	icon: 'ext-mb-ok',
																						});
																						winImportarFases.close();
																						PanelFases.child('#fasesgrid').onRefresh();	
																					},
																					failure: function() {
																						Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																										msg: 'Error en la importacion de fases ', 	icon: 'ext-mb-error',
																						});
																					}
																				})
																		}
																		},
																		{
																			text: 'Cerrar',
																			iconCls: 'icon-cerrar',
																			handler: function(){winImportarFases.close()}
																		}]
																	}
															}),{
															border: false
														}]
													});					
													winImportarFases.show();						
												},
												ddTiposItem: function(data){
													var grid7, grid8;
													nombre = extraer(data, '&nombreFase=', '&descripcion=');		idFase = extraer(data, 'id=', '&');
													winTipoItemdd = Ext.create('widget.window', {
														iconCls: 'icon-tipoItem',
														x: 400, y: 260,
														title: 'Drag and Drop - Asignar/Desasignar Tipos de Item a la Fase: ' + nombre,
														closable: false,
														plain: true,
														layout: 'fit',
														items: [PanelTipoItem = Ext.create('Ext.Panel', {
																	width : 550,	height : 250,
																	layout  : {	type: 'hbox',	align: 'stretch'	},
																	defaults  : { flex : 1 }, 
																	items : [
																			grid7 = Ext.create('Ext.grid.Panel', {
																				multiSelect: true,
																				viewConfig: {
																					plugins: {
																							ptype: 'gridviewdragdrop',
																							dragGroup: 'firstGridDDGroup',
																							dropGroup: 'secondGridDDGroup'
																					},
																				},
																				store: Ext.create('Ext.data.Store', {
																							model: 'DataTipoItem',
																							autoLoad: true,
																							proxy: {
																								type: 'ajax',
																								url: 'listar_no_tipo_items_por_fase/'+ idFase,
																								reader: {
																									type: 'json',
																									successProperty: 'success',
																									root: 'data',
																									messageProperty: 'message'
																								},

																							}      
																						}),
																				columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																							{text: "<b>Tipos de Items No Asignados</b>", flex: 1, sortable: true, dataIndex: 'nombreTipoItem'} ],
																				stripeRows : true
																			}),
																			grid8 = Ext.create('Ext.grid.Panel', {
																				multiSelect: true,
																				viewConfig: {
																					plugins: {
																							ptype: 'gridviewdragdrop',
																							dragGroup: 'secondGridDDGroup',
																							dropGroup: 'firstGridDDGroup'
																						},
																				},
																				store: Ext.create('Ext.data.Store', {
																						model: 'DataTipoItem',
																						autoLoad: true,
																						proxy: {
																							type: 'ajax',
																							url: 'listar_tipo_items_por_fase/'+ idFase,
																							reader: {
																								type: 'json',
																								successProperty: 'success',
																								root: 'data',
																								messageProperty: 'message'
																							},

																						}       
																				}),
																				columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																							{text: "<b>Tipos de Item Asignados</b>", flex: 1, sortable: true, dataIndex: 'nombreTipoItem'} ],
																				stripeRows : true
																			})
																	],
																	dockedItems: {
																		xtype: 'toolbar',
																		dock: 'bottom',
																		items: ['->', // Fill
																		{
																			text: 'Guardar',
																			iconCls: 'icon-save',
																			handler: function(){
																				grid8.getSelectionModel().selectAll();
																				longitud= grid8.getSelectionModel().getSelection().length;
																				lista_tiposItem = new Array(longitud);
																				i=0;
																				while(i < longitud)
																				{											
																					lista_tiposItem[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																					i=i+1;
																				}	
																				grid8.getSelectionModel().deselectAll();											
																				Ext.Ajax.request({
																					url: 'asignarTiposItem_desdeABMProyecto',
																					params: {
																						id_fase: idFase,
																						lista_tiposItem:Ext.encode(lista_tiposItem)
																					},
																					success: function() {
																						Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																											msg: 'Tipos de Item asignados correctamente', 	icon: 'ext-mb-ok',
																						});	
																					},
																					failure: function() {
																						Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																										msg: 'Error en la asignacion de Tipos de Item ', 	icon: 'ext-mb-error',
																						});
																					}
																				})
																		}
																		},
																		{
																			text: 'Cerrar',
																			iconCls: 'icon-cerrar',
																			handler: function(){winTipoItemdd.close()}
																		}]
																	}
															}),{
															border: false
														}]
													});					
													winTipoItemdd.show();						
												}
											}
											//height: 150,
										}, {
											region: 'center',
											xtype: 'fasesgrid',            
											itemId: 'fasesgrid',
											title: 'Lista de Fases',
											flex: 1,        
											//width: 480,
											//height: 250,
											store: Ext.create('Ext.data.Store', {
													model: 'Writer.Fases',
													autoLoad: true,
													autoSync: true,
													proxy: {
														type: 'ajax',
														url: 'listar_fases_por_proyecto/'+ id_Proyecto,
														reader: {
															type: 'json',
															successProperty: 'success',
															root: 'data',
															messageProperty: 'message'
														},
														writer: {
															type: 'json',
															writeAllFields: false,
															root: 'data'
														},

													},
													
													sorters: [{
														property: 'id',
														direction: 'ASC'
													}]        
												}),
											listeners: {
												selectionchange: function(selModel, selected) {
													PanelFases.child('#Faseform').setActiveRecord(selected[0] || null);
												},
												salir: function() {
													winFases.close();
													win.show();
													win.child('#grid').onRefresh();
												}
											}
										}]
									})
									
							]
					});	
					PanelFases.child('#Faseform').down('#idProy').setValue(id_Proyecto);
					winFases.show();
					
										
				}						
			}
		}, {
			region: 'center',
			xtype: 'writergrid',            
			itemId: 'grid',
			title: 'Lista de Proyectos',

			flex: 1,        
			//width: 750,
			//height: 380,

			store: store,
			listeners: {
				selectionchange: function(selModel, selected) {
					win.child('#form').setActiveRecord(selected[0] || null);
				}
			}
		}]
	});
	win.show();
   

    
});

function extraer(texto, etqini, etqfin){
		var ind0, ind1, parte ="";
		ind0 = texto.indexOf(etqini);
		if (ind0 >=0){
			ind1 = texto.indexOf(etqfin);
			if (ind1>ind0)
				parte = texto.substring(ind0+etqini.length, ind1);
		}
		return parte;
}
